package com.ruoyi.nongjt.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.util.Date;

/**
 * 打印机认证情况管理对象 printer_certification
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class PrinterCertification extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 序列号 */
    @Excel(name = "序列号")
    @NotBlank(message = "序列号不能为空")
    private String serialNumber;

    /** MAC地址 */
    @Excel(name = "MAC地址")
    @NotBlank(message = "MAC地址不能为空")
    private String macAddress;

    /** 认证状态 */
    @Excel(name = "认证状态", dictType = "certification_status")
    @NotBlank(message = "认证状态不能为空")
    private String certificationStatus;

    /** 使用状态 */
    @Excel(name = "使用状态", dictType = "usage_status")
    @NotBlank(message = "使用状态不能为空")
    private String usageStatus;

    /** 认证时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "认证时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date certificationTime;

    /** 主体ID */
    private Long subjectId;

    /** 主体名称 */
    @Excel(name = "主体名称")
    private String subjectName;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String mobilePhone;

    /** 注册时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date registrationTime;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;
}
